This invention relates to improved processing in a digital computer of the binary input data supplied thereto and also of the binary output data produced by the computer.
Microprocessors and other digital computers perform programmed mathematical and other operations in response to binary input data supplied to the digital computer. A plurality of data input lines may be continuously monitored for the purpose of detecting transitions in any of the input lines. The transitions are a change from one state to another of any of the bits of binary input data represented by the signals applied to the digital computer input lines.
The binary data inputs to the digital computer may, either alone or in combination, represent a quantity, a time, or the occurrence of an event. As an example of the above, consideration may be given to a digital computer used to control an engine in a motor vehicle. There may be in such application, perhaps, eight bits of binary input data supplied on eight separate input lines connected to the digital computer. One of these bits of binary input data may represent a signal which, each quarter revolution of the engine's crankshaft, changes from a logic zero level to a logic one level for a brief time in order to provide information regarding crankshaft position. Second and third bits of binary input data may be logic one levels only when associated air/fuel ratio sensors positioned in the exhaust gas stream from the engine speed air/fuel mixture excursions across stoichiometry in a rich direction.
An airflow meter may provide a voltage proportional to mass air flow rate. This voltage may be converted to a pulse repetition frequency proportional to the voltage that is indicative of the mass flow rate of air into the engine. This frequency (and hence the air flow rate) may be determined by detection of the pulse transitions if these are represented by a change from a logic zero level to a logic one level. As a fourth bit of binary date input to the digital computer, the pulse transitions relating to air flow rate may be detected. After the occurrence of each transition, a difference between the time of its occurrence and the time of occurrence of the previous transition may be calculated. The reciprocal of this time difference will be equal or proportional to the frequency of the signal supplied as the aforementioned fourth binary data input to the computer. The calculated frequency may be converted, through a program, based on the air flow meter transfer function, to a binary number representing the instantaneous air flow rate into the engine. With this information, the amount of fuel required to be metered to the engine under existing circumstances can be determined. Of course, other analog voltage inputs can be handled in a similar manner.
A fifth binary input bit of data to the digital computer may be obtained from a throttle-demand switch that would indicate the need for increased engine power. A sixth binary bit might indicate the range of a sensor or actuator being used at a given time. The engine, if of the four-cycle type, requires two crankshaft revolutions per complete engine cycle, and a seventh binary input data bit to the digital computer may indicate the onset of a new complete engine cycle. An eighth binary input bit might be used by the digital computer to calculate some other quantity representative of a variable of engine operation, such as engine temperature that may be detected initially as an analog voltage and thereafter converted to pulses having a repetition frequency proportional to the sensed temperature.
Input data received by the digital computer is supplied to its central processing unit which, under program control, manipulates and processes the input data. As a result, binary output data is produced.